home *** CD-ROM | disk | FTP | other *** search
- Sound Blaster 16 MIDI programming
- -----------------------------------------------------
- using the MPU-401 port or the Sound Blaster MIDI port
- -----------------------------------------------------
-
- 30 Jun 93
-
- Copyright (c) 1993-1996 Creative Labs, Inc.
- -----------------------------------------------------------------------
- Summary:
-
- The MIDI directory on this disk contains various functions to implement
- MPU-401 MIDI on the Sound Blaster 16.
-
- File List:
- SBCUTILS.C
- SBCUTILS.H
- MIDIUTIL.H
- MIDIUTIL.C
- MIDITEST MAK
- MIDITEST.C
- MIDITEST.EXE
-
-
- SBCUTILS.C, SBCUTILS.H
- ----------------------
- Contains functions, data structures, and constants that are universal
- across all the Sound Blaster cards.
-
- Functions:
- int GetBlastInfo(BLASTREC *blastInfo)
- description: retrieves and parses the BLASTER environment variable.
-
- int DSPReset(void)
- description: resets the Sound Blaster DSP.
-
- MIDIUTIL.C, MIDIUTIL.H
- ----------------------
- Contains functions and constants to access the MPU-401 port on the SB16.
-
- Functions:
- void Write_MPU401_Cmd(unsigned char command)
- description: writes a command to the MPU-401 port.
-
- void Write_MPU401_Data(unsigned char data)
- description: writes data to the MPU-401 port.
-
- void Write_SBMIDI_Data(unsigned char data)
- description: writes data to the Sound Blaster MIDI port.
-
- unsigned char Read_MPU401_Data(void)
- description: reads data from the MPU-401 port.
-
- unsigned char Read_SBMIDI_Data(void)
- description: reads data from the Sound Blaster MIDI port.
-
- void Send_MIDI_Message(char *message, int size)
- description: sends a variable length message to the MIDI port.
-
- void Set_MIDI_Vol(char channel, char volume)
- description: sets a MIDI channel's volume.
-
- void Set_MIDI_Notes_Off(char channel)
- description: turns off all notes on a given channel.
-
- void Set_MIDI_Pitch_Bend(char channel, int range)
- description: sets the pitch bend value for a given channel.
-
- int Reset_MPU401(void)
- description: resets the MPU-401 port.
-
- int Set_UART_Mode(int state)
- description: switches UART mode on and off on the MPU-401 port.
-
- int Detect_MIDI(void)
- description: verifies the existence of the MIDI hardware
- defined in the Blaster Information Record (blastInfo).
-
- int Init_MIDI(void)
- description: for the MPU-401 port, resets the port and selects
- UART mode. For both MPU-401 and SBMIDI, sets the
- channel volumes to 100, turns off any notes that were
- left hanging, and sets the pitch bend values to 0.
-
- void Exit_MIDI(void)
- description: provides house keeping before exiting the program.
- This function turns off all notes and if using the
- MPU-401 port then it turns off UART mode.
-
- MIDITEST.C
- ----------
- Test routine demonstrating the use of
-
- GetBlastInfo()
- Detect_MIDI()
- Init_MIDI()
- Exit_MIDI()
-
- All other routines are utilized in these functions.
-